home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 98 / Skunkware 98.iso / src / net / omniORB-2.5.0-src.tar.gz / omniORB-2.5.0-src.tar / omniORB_2.5.0 / include / omniORB2 / omniLifeCycle.hh < prev    next >
Text File  |  1998-03-09  |  7KB  |  202 lines

  1. #ifndef __omniLifeCycle_hh__
  2. #define __omniLifeCycle_hh__
  3.  
  4. #include <omniORB2/CORBA.h>
  5.  
  6. #ifndef __omniLifeCycleInfo__
  7. #define __omniLifeCycleInfo__
  8. class   omniLifeCycleInfo;
  9. typedef omniLifeCycleInfo* omniLifeCycleInfo_ptr;
  10. typedef omniLifeCycleInfo_ptr omniLifeCycleInfoRef;
  11.  
  12. class omniLifeCycleInfo_Helper {
  13.   public:
  14.   static omniLifeCycleInfo_ptr _nil();
  15.   static CORBA::Boolean is_nil(omniLifeCycleInfo_ptr p);
  16.   static void release(omniLifeCycleInfo_ptr p);
  17.   static void duplicate(omniLifeCycleInfo_ptr p);
  18.   static size_t NP_alignedSize(omniLifeCycleInfo_ptr obj,size_t initialoffset);
  19.   static void marshalObjRef(omniLifeCycleInfo_ptr obj,NetBufferedStream &s);
  20.   static omniLifeCycleInfo_ptr unmarshalObjRef(NetBufferedStream &s);
  21.   static void marshalObjRef(omniLifeCycleInfo_ptr obj,MemBufferedStream &s);
  22.   static omniLifeCycleInfo_ptr unmarshalObjRef(MemBufferedStream &s);
  23. };
  24. typedef _CORBA_ObjRef_Var<omniLifeCycleInfo,omniLifeCycleInfo_Helper> omniLifeCycleInfo_var;
  25.  
  26. #endif
  27. #define omniLifeCycleInfo_IntfRepoID "IDL:omniLifeCycleInfo:1.0"
  28.  
  29. class omniLifeCycleInfo : public virtual omniObject, public virtual CORBA::Object {
  30. public:
  31.  
  32.   virtual void reportMove ( CORBA::Object_ptr  obj ) = 0;
  33.   virtual void reportRemove (  ) = 0;
  34.   virtual CORBA::Object_ptr  homeObject ()  = 0;
  35.   static omniLifeCycleInfo_ptr _duplicate(omniLifeCycleInfo_ptr);
  36.   static omniLifeCycleInfo_ptr _narrow(CORBA::Object_ptr);
  37.   static omniLifeCycleInfo_ptr _nil();
  38.  
  39.   static inline size_t NP_alignedSize(omniLifeCycleInfo_ptr obj,size_t initialoffset) {
  40.     return CORBA::AlignedObjRef(obj,omniLifeCycleInfo_IntfRepoID,26,initialoffset);
  41.   }
  42.  
  43.   static inline void marshalObjRef(omniLifeCycleInfo_ptr obj,NetBufferedStream &s) {
  44.     CORBA::MarshalObjRef(obj,omniLifeCycleInfo_IntfRepoID,26,s);
  45.   }
  46.  
  47.   static inline omniLifeCycleInfo_ptr unmarshalObjRef(NetBufferedStream &s) {
  48.     CORBA::Object_ptr _obj = CORBA::UnMarshalObjRef(omniLifeCycleInfo_IntfRepoID,s);
  49.     omniLifeCycleInfo_ptr _result = omniLifeCycleInfo::_narrow(_obj);
  50.     CORBA::release(_obj);
  51.     return _result;
  52.   }
  53.  
  54.   static inline void marshalObjRef(omniLifeCycleInfo_ptr obj,MemBufferedStream &s) {
  55.     CORBA::MarshalObjRef(obj,omniLifeCycleInfo_IntfRepoID,26,s);
  56.   }
  57.  
  58.   static inline omniLifeCycleInfo_ptr unmarshalObjRef(MemBufferedStream &s) {
  59.     CORBA::Object_ptr _obj = CORBA::UnMarshalObjRef(omniLifeCycleInfo_IntfRepoID,s);
  60.     omniLifeCycleInfo_ptr _result = omniLifeCycleInfo::_narrow(_obj);
  61.     CORBA::release(_obj);
  62.     return _result;
  63.   }
  64.  
  65.   static CORBA::Boolean _0RL_is_a(const char *base_repoId);
  66.  
  67. protected:
  68.  
  69.   omniLifeCycleInfo() {
  70.     if (!is_proxy())
  71.       omniObject::PR_IRRepositoryId(omniLifeCycleInfo_IntfRepoID);
  72.     this->PR_setobj(this);
  73.   }
  74.   virtual ~omniLifeCycleInfo() {}
  75.   virtual void *_widenFromTheMostDerivedIntf(const char *repoId,CORBA::Boolean is_cxx_type_id=0);
  76.  
  77. private:
  78.  
  79.   omniLifeCycleInfo(const omniLifeCycleInfo&);
  80.   omniLifeCycleInfo &operator=(const omniLifeCycleInfo&);
  81. };
  82.  
  83. class _sk_omniLifeCycleInfo :  public virtual omniLifeCycleInfo {
  84. public:
  85.  
  86.   _sk_omniLifeCycleInfo() {}
  87.   _sk_omniLifeCycleInfo(const omniORB::objectKey& k);
  88.   virtual ~_sk_omniLifeCycleInfo() {}
  89.   omniLifeCycleInfo_ptr _this() { return omniLifeCycleInfo::_duplicate(this); }
  90.   void _obj_is_ready(CORBA::BOA_ptr boa) { boa->obj_is_ready(this); }
  91.   CORBA::BOA_ptr _boa() { return CORBA::BOA::getBOA(); }
  92.   void _dispose() { _boa()->dispose(this); }
  93.   omniORB::objectKey _key();
  94.   virtual void reportMove ( CORBA::Object_ptr  obj ) = 0;
  95.   virtual void reportRemove (  ) = 0;
  96.   virtual CORBA::Object_ptr  homeObject ()  = 0;
  97.   virtual CORBA::Boolean dispatch(GIOP_S &s,const char *op,CORBA::Boolean response);
  98.  
  99. protected:
  100.   virtual void *_widenFromTheMostDerivedIntf(const char *repoId,CORBA::Boolean is_cxx_type_id) {
  101.     return omniLifeCycleInfo::_widenFromTheMostDerivedIntf(repoId,is_cxx_type_id);
  102.   }
  103. private:
  104.   _sk_omniLifeCycleInfo (const _sk_omniLifeCycleInfo&);
  105.   _sk_omniLifeCycleInfo &operator=(const _sk_omniLifeCycleInfo&);
  106. };
  107.  
  108. class _proxy_omniLifeCycleInfo :  public virtual omniLifeCycleInfo {
  109. public:
  110.  
  111.   _proxy_omniLifeCycleInfo (Rope *r,CORBA::Octet *key,size_t keysize,IOP::TaggedProfileList *profiles,CORBA::Boolean release) :
  112.     omniObject(omniLifeCycleInfo_IntfRepoID,r,key,keysize,profiles,release) {
  113.       omni::objectIsReady(this);
  114.   }
  115.   virtual ~_proxy_omniLifeCycleInfo() {}
  116.   virtual void reportMove ( CORBA::Object_ptr  obj );
  117.   virtual void reportRemove (  );
  118.   virtual CORBA::Object_ptr  homeObject () ;
  119.  
  120. protected:
  121.  
  122.   _proxy_omniLifeCycleInfo () {}
  123.  
  124.   virtual void *_widenFromTheMostDerivedIntf(const char *repoId,CORBA::Boolean is_cxx_type) {
  125.     return omniLifeCycleInfo::_widenFromTheMostDerivedIntf(repoId,is_cxx_type);
  126.   }
  127. private:
  128.  
  129.   _proxy_omniLifeCycleInfo (const _proxy_omniLifeCycleInfo&);
  130.   _proxy_omniLifeCycleInfo &operator=(const _proxy_omniLifeCycleInfo&);
  131. };
  132.  
  133. class _nil_omniLifeCycleInfo : public virtual omniLifeCycleInfo {
  134. public:
  135.   _nil_omniLifeCycleInfo() : omniObject(omniObject::nilObjectManager()) { this->PR_setobj(0); }
  136.   virtual ~_nil_omniLifeCycleInfo() {}
  137.   void reportMove ( CORBA::Object_ptr  obj ){
  138.     throw CORBA::BAD_OPERATION(0,CORBA::COMPLETED_NO);
  139. #ifdef NEED_DUMMY_RETURN
  140.     // never reach here! Dummy return to keep some compilers happy.
  141.     return;
  142. #endif
  143.   }
  144.  
  145.   void reportRemove (  ){
  146.     throw CORBA::BAD_OPERATION(0,CORBA::COMPLETED_NO);
  147. #ifdef NEED_DUMMY_RETURN
  148.     // never reach here! Dummy return to keep some compilers happy.
  149.     return;
  150. #endif
  151.   }
  152.  
  153.   CORBA::Object_ptr  homeObject ()  {
  154.     throw CORBA::BAD_OPERATION(0,CORBA::COMPLETED_NO);
  155. #ifdef NEED_DUMMY_RETURN
  156.     // never reach here! Dummy return to keep some compilers happy.
  157.     CORBA::Object_ptr _0RL_result = 0;
  158.     return _0RL_result;
  159. #endif
  160.   }
  161.  
  162. protected:
  163.   virtual void *_widenFromTheMostDerivedIntf(const char *repoId,CORBA::Boolean is_cxx_type_id) {
  164.     return omniLifeCycleInfo::_widenFromTheMostDerivedIntf(repoId,is_cxx_type_id);
  165.   }
  166. };
  167.  
  168. class omniLifeCycleInfo_proxyObjectFactory : public proxyObjectFactory {
  169. public:
  170.   omniLifeCycleInfo_proxyObjectFactory () {}
  171.   virtual ~omniLifeCycleInfo_proxyObjectFactory () {}
  172.   virtual const char *irRepoId() const;
  173.   virtual CORBA::Object_ptr newProxyObject(Rope *r,CORBA::Octet *key,size_t keysize,IOP::TaggedProfileList *profiles,CORBA::Boolean release);
  174.   virtual CORBA::Boolean is_a(const char *base_repoId) const;
  175.   static omniLifeCycleInfo_ptr _nil() {
  176.     if (!__nil_omniLifeCycleInfo) {
  177.       __nil_omniLifeCycleInfo = new _nil_omniLifeCycleInfo;
  178.     }
  179.     return __nil_omniLifeCycleInfo;
  180.   }
  181. private:
  182.   static omniLifeCycleInfo_ptr __nil_omniLifeCycleInfo;
  183. };
  184.  
  185. extern const CORBA::TypeCode_ptr _tc_omniLifeCycleInfo;
  186.  
  187. inline void operator<<=(CORBA::Any& _a, omniLifeCycleInfo_ptr _s) {
  188.   MemBufferedStream _0RL_mbuf;
  189.   _tc_omniLifeCycleInfo->NP_fillInit(_0RL_mbuf);
  190.   omniLifeCycleInfo::marshalObjRef(_s,_0RL_mbuf);
  191.   _a.NP_replaceData(_tc_omniLifeCycleInfo,_0RL_mbuf);
  192. }
  193.  
  194. inline void operator<<=(CORBA::Any& _a, omniLifeCycleInfo_ptr* _sp) {
  195.   ::operator<<=(_a,*_sp);
  196.   CORBA::release(*_sp);
  197. }
  198.  
  199. CORBA::Boolean operator>>=(const CORBA::Any& _a, omniLifeCycleInfo_ptr& _s);
  200.  
  201. #endif // __omniLifeCycle_hh__
  202.